@database HDEnv.guide @rem $VER: HDEnv.guide 1.3 (3.10.95) @rem Copyright (C) 1995 by Michael Fedrowitz @smartwrap @node main "HDEnv.guide" @{b}HDEnv 1.3 (3.10.95)@{ub} Copyright (C) 1995 by Michael Fedrowitz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the @{"GNU General Public License" link COPYING/main} for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. @{"Introduction" link intro} What's it all about? @{"Requirements" link require} Requirements @{"Usage " link usage} How to use HDEnv @{"Updating " link update} Updating from an earlier release @{"Installation" link inst} How to install HDEnv @{"Sources " link source} Sources @{"Bugs " link bugs} Bugs? What bugs? @{"Todo " link todo} The future... @{"History " link History/main} Revision history @{"Address " link addr} How to reach the author @{"Credits " link credits} Credits @endnode @node intro "Introduction" @{b}Introduction@{ub} On every system startup the contents of the ENVARC: directory is copied to ENV:, which usually resides in RAM Disk. As the RAM Disk has a block size of 1K, every file, no matter how small, uses at least 2K of RAM (one for the file header and one for data). Furthermore ENVARC: usually contains lots of small files. Thus there are easily several 100K of valuable memory wasted. The alternative is keeping ENV: on the harddisk, but then, in order to emulate the original behaviour, you would have to delete the contents of ENV: and copy ENVARC: back to ENV: on every startup, what takes a lot of time. This is where HDEnv comes in. HDEnv is a little program, which will: * delete files, which are in ENV:, but not in ENVARC:, from ENV:, * copy files, which are either missing or have been modified in ENV:, from ENVARC: to ENV:. @endnode @node require "Requirements" @{b}Requirements@{ub} HDEnv should run any Amiga equiped with AmigaOS 2.04 (V37) or higher. A harddisk isn't actually required, but without one this program will be virtually useless. As HDEnv relies on the filedates to decide what is to be copied, a battery backed up clock is highly recommended. (It should also work without one, but that hasn't been tested.) @endnode @node usage "Usage" @{b}Usage@{ub} If you run HDEnv without any arguments, it will update your ENV: directory. There's no need to redirect output, as it won't print anything to stdout unless an error occurs. HDEnv accepts the following command line options: * VERBOSE will output all actions taken during the process. * TEST will output, what files would have been copied/deleted without actually changing anything on your harddisk. @endnode @node update "Updating" @{b}Updating@{ub} Since version 1.1.3 HDEnv doesn't create a script anymore, but copies and deletes files directly. So when you're updating from an earlier version you'll have to: * Copy the HDEnv executable to C: (don't forget to delete CopyEnv and DelEnv, if you're updating from a version prior to 1.0.4). * Remove the commands to create, execute and delete the script from your startup-sequence and insert the command 'HDEnv' (without any options) instead. For details on the new command line options see the chapter @{"Usage" link usage}. If you're updating from version 1.1.3 or later, all you have to do is to replace the old HDEnv executable by the new one or by HDEnv.v39, if you're using AmigaOS 3.0 (V39) or higher. @endnode @node inst "Installation" @{b}Installation@{ub} To install HDEnv copy the HDEnv executable to C: (if you're using AmigaOS 3.0 (V39) or later, you can use HDEnv.v39 instead). Now create a new directory on your harddisk to hold you ENV: directory (e.g. SYS:Env), and copy the contents of ENVARC: to that directory (be sure to use the 'CLONE' option, so that the filedates are preserved). Next you'll have to edit your Startup-sequence: * Remove the 'RAM:ENV' and 'RAM:ENV/Sys' from the MakeDir command. * Delete the 'Copy ENVARC: RAM:ENV ALL' line. * Change the 'RAM:ENV' in the 'Assign ENV: ...' line to your new directory. * Insert the command 'HDEnv' after the Assign commands. When you reboot your system now, everything should be like usual, except for a short harddisk access whenever a file in ENV: (e.g. an environment variable or a prefs file) is used. @endnode @node source "Sources" @{b}Sources@{ub} The full sources for SAS/C(tm) V6.55 are included and you are free to modify them under the terms of the @{"GPL" link COPYING/main}. However I'd ask you to send all modifications to @{"me" link addr}, so that I can coordinate new releases. The sources aren't particularly nice and also completely undocumented, but I believe everything is pretty straightforward. An smakefile is provided, so you can recompile HDEnv simply by typing 'smake'. @endnode @node bugs "Bugs" @{b}Bugs@{ub} There shouldn't be any serious bugs left over in this release. However there are two minor problems: * HDEnv will sometimes copy files, which don't really have to be copied: HDEnv copies all files from ENVARC: to ENV:, which have different datestamps. That way you can be virtually 100% sure that ENV: will really contain the same files as ENVARC:. * HDEnv will break on Ctrl-D as well as on Ctrl-C: This is because SAS/C(tm) treats both in exactly the same way, and there doesn't seem to be any way to tell them apart. Please let me know, if you know a solution for this. If you find any other bugs, please report them to @{"me" link addr}. @endnode @node todo "Todo" @{b}Todo@{ub} Well, there's not really very much left to do. At least I can't think of anything right now. But suggestions are of course always welcome. So this will probably be the last release of HDEnv in its current form. But maybe there will be an HDEnv 2.0 implemented as a DOS handler, which will reduce the overhead to minimum. If and when I will actually implement that, highly depends on the amount of @{"feedback" link addr} I receive! @endnode @node addr "Address" @{b}Address@{ub} Send any comments, bug reports, enhancements to the source, etc. to: (Donations of any kind are of course also welcome.) Michael Fedrowitz Felsenstr. 60 74081 Heilbronn Germany mfedrowi@ix.urz.uni-heidelberg.de 2:246/1045.5@fidonet From 15 Oct to 15 Feb and 15 Apr to 15 Jul you can also use the following address (valid until summer 1997): Michael Fedrowitz Im Neuenheimer Feld 696 69120 Heidelberg Germany It is highly recommended to use email. If you want a response via snail mail, please include an SASE, if you're living inside Germany, one IRC, if you're living inside Europe, two IRCs otherwise. IRCs should be available at your local post office. @endnode @node credits "Credits" @{b}Credits@{ub} The following tools were used to create this program: * SAS/C(tm) V6.55 by SAS Institute Inc. * GoldED 3.1.3 by Dietmar Eilert @endnode